The Internet, like so many other high tech developments, grew from research originally performed by the United States Department of Defense. In the 1960s, the military had accumulated a large collection of incompatible computer networks. Computers on these different networks could not communicate with other computers across their network boundaries.
In the 1960s, the Defense Department wanted to develop a communication system that would permit communication between these different computer networks. Recognizing that a single, centralized communication system would be vulnerable to attacks or sabotage, the Defense Department required that the communication system be decentralized with no critical services concentrated in vulnerable failure points. In order to achieve this goal, the Defense Department established a decentralized standard communication protocol for communication between their computer networks.
A few years later, the National Science Foundation (NSF) wanted to facilitate communication between incompatible network computers at various research institutions across the country. The NSF adopted the Defense Department's protocol for communication, and this combination of research computer networks would eventually evolve into the Internet.
Internet Protocol and Packet-Based Communication
The Defense Department's communication protocol governing data transmission between different networks was called the Internet Protocol (IP) standard. The IP standard uses discrete information packets, sometimes called datagrams, to communicate between different computers and other devices and networks over the Internet. The IP standard has been widely adopted for the transmission of discrete information packets across network boundaries. In fact, most telecommunication networks operate using information packets to transmit data to linked communication devices. The IP standard or similar packet-based communication protocols govern communications on these networks as well as the Internet.
Packet-based communication protocols depend on destination and source address data found in an address header for routing over a communication network. This type of network is sometimes referred to as a packet-switched network, because each information packet's path through the network is controlled by switching or routing decisions based on the address data found in the packet's address header. For these types of communication networks, the communication protocols operate to establish an end-to-end connection using individual information packets or datagrams each following individually set routes. Since each information packet is individually routed over the network without a fixed path or route, these networks are also characterized as connectionless networks.
In a typical information packet-based communication scenario, data is transmitted from an originating communication device on a first network across a transmission medium to a destination communication device on a second network. During transmission, transit routers on the network process the information packet address header to route the individual information packets. After receipt at the destination device, the destination communication device decodes the transmitted information into the original information transmitted by the originating device according to the applicable communication protocol.
Addressing and Routing
A communication device operating on an information packet-based network is assigned a unique physical address. For IP-based networks, this address is referred to as an IP address. The IP address can include: (1) a network ID and number identifying a network, (2) a sub-network ID number identifying a substructure on the network, and (3) a host ID number identifying a particular computer on the sub-network. A header data field in the information packet will include source and destination addresses. The IP addressing scheme imposes a consistent addressing scheme that reflects the internal organization of the network or sub-network. Other addressing protocols use address headers and similar addressing mechanisms to route information packets.
A router is used to regulate the transmission of information packets into and out of the communication network. Routers interpret the logical address contained in information packet headers and direct the information packets to the intended destination. Information packets addressed between communication devices on the same network do not pass through a router on the boundary of the network, and as such, these information packets will not clutter the transmission lines outside the network. If data is addressed to a communication device outside the network, the router on the network boundary forwards the data onto the greater network.
Network communication protocols define how routers determine the transmission path through a network and across network boundaries. Routing decisions are based upon information in the address header and corresponding entries in a routing table maintained on the router. A routing table contains the information for a router to determine whether to accept an information packet on behalf of a device or pass the information packet onto another router.
Routing that involves processing at a router and then forwarding in a hop-by-hop manner from one router to the next is referred to as hop-by-hop routing. At each point in the routing path, the receiving or destination router processes the packet to compare the address header information to the routing table maintained on the router for the next hop to forward the information packet. The router then forwards the information packet to the appropriate router on the next hop determined by the topological data in the routing table.
Packet Processing
Some routers are comprised of two types of components. The first type of component is the network processor. Network processors handle the basic routing functions by quickly processing (sometimes called “parsing”) address header information in the information packet and then forwarding the information packet to the next hop destination as specified by an address stored in a route cache entry in the processor. This lower-level processing and forwarding of an information packet is sometimes referred to as the “fast-path” processing.
The second type of component in a router is signaling processors. If an information packets header address is not found in the route cache, higher-level processing may be required for matching the address with the routing table and forwarding the packet from the signaling processor. Additionally, some information packets require more extensive processing due to security, quality of service, or other control functions that require processing and/or implementation prior to forwarding of the information packet. This higher-level processing and forwarding of information packets is sometimes referred to as the “slow-path” processing.
Increasingly, information packet processing demands are expanding as networks begin to adopt the IP protocol. There is a growing need to enable access edge to access edge signaling for ubiquitous mobility, poke holes in firewalls, agree on a common method of dynamic quality of service (QoS) semantics (both per-flow and aggregate), accommodate security mechanisms, and support topological updates. These additional needs and accompanying processing demands on a network require increased scrutiny and processing of information packets using the slow-path processing technique. Consequently, the speed of information packet trans-mission and efficiency of communication decreases on the network because of the slow-path processing required for information packets on a network. There is a need for a mechanism to segregate information packets requiring increased scrutiny in the signaling processor and information packets that can continue to be routed using the route cache of the network processor.